package top.infopub.job.fia.service;


import java.math.BigDecimal;
import java.util.Map;

import top.infopub.generic.GenericService;
import top.infopub.model.fia.ProBudget;


public interface ProBudgetService extends GenericService<ProBudget, String> {

    /** codegen **/

    /**
     * 计算某个区域公司某一年的融资额计划，区域公司下属项目公司之和
     * @param where </br>
     *        belongsYear int 预算年度
     *        hrOrgAreaId String 区域公司ID
     * @return 
     * @see
     */
    BigDecimal sumYearFinFeeOfArea(Map<String, Object> where);

    /**
     * 计算总部公司某一年的融资额计划，全部项目公司之和  排除hr_org_pro_id为null<项目与公司未绑定>
     * @param where </br>
     *        belongsYear int 预算年度
     * @return 
     * @see
     */
    BigDecimal sumYearFinFeeOfSuper(Map<String, Object> where);
    
    /**
     * 计算某个区域公司某一年的投资性现金流入计划，区域公司下属项目公司之和
     * @param where </br>
     *        belongsYear int 预算年度
     *        hrOrgAreaId String 区域公司ID
     * @return 
     * @see
     */
    BigDecimal sumYearCashInOfArea(Map<String, Object> where);

    /**
     * 计算总部公司某一年的投资性现金流入计划，全部项目公司之和  排除hr_org_pro_id为null<项目与公司未绑定>
     * @param where </br>
     *        belongsYear int 预算年度
     * @return 
     * @see
     */
    BigDecimal sumYearCashInOfSuper(Map<String, Object> where);
    
    /**
     * 计算某个区域公司某一年的投资性现金流出计划，区域公司下属项目公司之和
     * @param where </br>
     *        belongsYear int 预算年度
     *        hrOrgAreaId String 区域公司ID
     * @return 
     * @see
     */
    BigDecimal sumYearCashOutOfArea(Map<String, Object> where);

    /**
     * 计算总部公司某一年的投资性现金流出计划，全部项目公司之和  排除hr_org_pro_id为null<项目与公司未绑定>
     * @param where </br>
     *        belongsYear int 预算年度
     * @return 
     * @see
     */
    BigDecimal sumYearCashOutOfSuper(Map<String, Object> where);
    
    /**
     * 计算某个区域公司某一年的投资额计划，区域公司下属项目公司之和
     * @param where </br>
     *        belongsYear int 预算年度
     *        hrOrgAreaId String 区域公司ID
     * @return 
     * @see
     */
    BigDecimal sumYearInvestOfArea(Map<String, Object> where);

    /**
     * 计算总部公司某一年的投资额计划，全部项目公司之和  排除hr_org_pro_id为null<项目与公司未绑定>
     * @param where </br>
     *        belongsYear int 预算年度
     * @return 
     * @see
     */
    BigDecimal sumYearInvestOfSuper(Map<String, Object> where);
    
    /**
     * 计算某个区域公司某一年的管理净利润计划，区域公司下属项目公司之和
     * @param where </br>
     *        belongsYear int 预算年度
     *        hrOrgAreaId String 区域公司ID
     * @return 
     * @see
     */
    BigDecimal sumYearProfitOfArea(Map<String, Object> where);

    /**
     * 计算总部公司某一年的管理净利润计划，全部项目公司之和  排除hr_org_pro_id为null<项目与公司未绑定>
     * @param where </br>
     *        belongsYear int 预算年度
     * @return 
     * @see
     */
    BigDecimal sumYearProfitOfSuper(Map<String, Object> where);
    
    
}